#include "carctl.h"


u8 speed = 0;
u8 left_wheel[2] = {1, 0}, right_wheel[2] = {1, 0};
u8 canGo = 0;

/*******************************************************************************
* 函 数 名       : car_speed_up
* 函数功能		 	 : 小车加速, 最高4档
* 输    入       : 无
* 输    出       : 无
*******************************************************************************/
void car_speed_up()
{
	speed = (speed >= 4 ? speed : speed + 1);
}

/*******************************************************************************
* 函 数 名       : car_speed_down
* 函数功能		 	 : 小车减速
* 输    入       : 无
* 输    出       : 无
*******************************************************************************/
void car_speed_down()
{
	speed = (speed <= 0 ? speed : speed - 1);
}

/*******************************************************************************
* 函 数 名       : car_move_forward
* 函数功能		 	 : 小车前进, 起步一档
* 输    入       : 无
* 输    出       : 无
*******************************************************************************/
void car_move_forward()
{
		left_wheel[0] = 1;
		left_wheel[1] = 0;	
		right_wheel[0] = 1;
		right_wheel[1] = 0;
		if(speed == 0)
		{
			// 空挡起步默认1
			speed = 1;
		}
		canGo = 1;
}

/*******************************************************************************
* 函 数 名       : car_stop
* 函数功能		 	 : 小车停止
* 输    入       : 无
* 输    出       : 无
*******************************************************************************/
void car_stop()
{
	canGo = 0;
}

/*******************************************************************************
* 函 数 名       : car_turn_left
* 函数功能		 	 : 小车左转向
* 输    入       : 无
* 输    出       : 无
*******************************************************************************/
void car_turn_left()
{
	// 左轮向后
	left_wheel[0] = 0;
	left_wheel[1] = 1;
	
	// 右轮向前
	right_wheel[0] = 1;
	right_wheel[1] = 0;
	
	if(speed == 0)
	{
		speed = 1;
	}
	canGo = 1;
}

/*******************************************************************************
* 函 数 名       : car_turn_right
* 函数功能		 : 小车右转向
* 输    入       : 无
* 输    出       : 无
*******************************************************************************/
void car_turn_right()
{
	// 左轮向前
	left_wheel[0] = 1;
	left_wheel[1] = 0;
	
	// 右轮向后
	right_wheel[0] = 0;
	right_wheel[1] = 1;
	
	if(speed == 0)
	{
		speed = 1;
	}
	canGo = 1;
}
